From 891cd55ee30ee9a43401e75e0f30816982390a14 Mon Sep 17 00:00:00 2001 From: Havoc Pennington Date: Sat, 24 Mar 2001 06:41:28 +0000 Subject: [PATCH] make motion around the ring much slower but finer-grained (gtk_hsv_focus): 2001-03-24 Havoc Pennington * gtk/gtkhsv.c (gtk_hsv_move): make motion around the ring much slower but finer-grained (gtk_hsv_focus): get initial focus on the ring or triangle according to tab direction * gtk/testgtk.c (main): get rid of weird sleep(1) on exit --- ChangeLog | 9 +++++++++ ChangeLog.pre-2-0 | 9 +++++++++ ChangeLog.pre-2-10 | 9 +++++++++ ChangeLog.pre-2-2 | 9 +++++++++ ChangeLog.pre-2-4 | 9 +++++++++ ChangeLog.pre-2-6 | 9 +++++++++ ChangeLog.pre-2-8 | 9 +++++++++ gtk/gtkhsv.c | 18 +++++++++++++----- gtk/testgtk.c | 2 ++ tests/testgtk.c | 2 ++ 10 files changed, 80 insertions(+), 5 deletions(-) diff --git a/ChangeLog b/ChangeLog index 4a9a13e5b0..578d627463 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,12 @@ +2001-03-24 Havoc Pennington + + * gtk/gtkhsv.c (gtk_hsv_move): make motion around the ring much + slower but finer-grained + (gtk_hsv_focus): get initial focus on the ring or triangle + according to tab direction + + * gtk/testgtk.c (main): get rid of weird sleep(1) on exit + 2001-03-23 Havoc Pennington * gtk/gtkhsv.c: make this somewhat key-navigable diff --git a/ChangeLog.pre-2-0 b/ChangeLog.pre-2-0 index 4a9a13e5b0..578d627463 100644 --- a/ChangeLog.pre-2-0 +++ b/ChangeLog.pre-2-0 @@ -1,3 +1,12 @@ +2001-03-24 Havoc Pennington + + * gtk/gtkhsv.c (gtk_hsv_move): make motion around the ring much + slower but finer-grained + (gtk_hsv_focus): get initial focus on the ring or triangle + according to tab direction + + * gtk/testgtk.c (main): get rid of weird sleep(1) on exit + 2001-03-23 Havoc Pennington * gtk/gtkhsv.c: make this somewhat key-navigable diff --git a/ChangeLog.pre-2-10 b/ChangeLog.pre-2-10 index 4a9a13e5b0..578d627463 100644 --- a/ChangeLog.pre-2-10 +++ b/ChangeLog.pre-2-10 @@ -1,3 +1,12 @@ +2001-03-24 Havoc Pennington + + * gtk/gtkhsv.c (gtk_hsv_move): make motion around the ring much + slower but finer-grained + (gtk_hsv_focus): get initial focus on the ring or triangle + according to tab direction + + * gtk/testgtk.c (main): get rid of weird sleep(1) on exit + 2001-03-23 Havoc Pennington * gtk/gtkhsv.c: make this somewhat key-navigable diff --git a/ChangeLog.pre-2-2 b/ChangeLog.pre-2-2 index 4a9a13e5b0..578d627463 100644 --- a/ChangeLog.pre-2-2 +++ b/ChangeLog.pre-2-2 @@ -1,3 +1,12 @@ +2001-03-24 Havoc Pennington + + * gtk/gtkhsv.c (gtk_hsv_move): make motion around the ring much + slower but finer-grained + (gtk_hsv_focus): get initial focus on the ring or triangle + according to tab direction + + * gtk/testgtk.c (main): get rid of weird sleep(1) on exit + 2001-03-23 Havoc Pennington * gtk/gtkhsv.c: make this somewhat key-navigable diff --git a/ChangeLog.pre-2-4 b/ChangeLog.pre-2-4 index 4a9a13e5b0..578d627463 100644 --- a/ChangeLog.pre-2-4 +++ b/ChangeLog.pre-2-4 @@ -1,3 +1,12 @@ +2001-03-24 Havoc Pennington + + * gtk/gtkhsv.c (gtk_hsv_move): make motion around the ring much + slower but finer-grained + (gtk_hsv_focus): get initial focus on the ring or triangle + according to tab direction + + * gtk/testgtk.c (main): get rid of weird sleep(1) on exit + 2001-03-23 Havoc Pennington * gtk/gtkhsv.c: make this somewhat key-navigable diff --git a/ChangeLog.pre-2-6 b/ChangeLog.pre-2-6 index 4a9a13e5b0..578d627463 100644 --- a/ChangeLog.pre-2-6 +++ b/ChangeLog.pre-2-6 @@ -1,3 +1,12 @@ +2001-03-24 Havoc Pennington + + * gtk/gtkhsv.c (gtk_hsv_move): make motion around the ring much + slower but finer-grained + (gtk_hsv_focus): get initial focus on the ring or triangle + according to tab direction + + * gtk/testgtk.c (main): get rid of weird sleep(1) on exit + 2001-03-23 Havoc Pennington * gtk/gtkhsv.c: make this somewhat key-navigable diff --git a/ChangeLog.pre-2-8 b/ChangeLog.pre-2-8 index 4a9a13e5b0..578d627463 100644 --- a/ChangeLog.pre-2-8 +++ b/ChangeLog.pre-2-8 @@ -1,3 +1,12 @@ +2001-03-24 Havoc Pennington + + * gtk/gtkhsv.c (gtk_hsv_move): make motion around the ring much + slower but finer-grained + (gtk_hsv_focus): get initial focus on the ring or triangle + according to tab direction + + * gtk/testgtk.c (main): get rid of weird sleep(1) on exit + 2001-03-23 Havoc Pennington * gtk/gtkhsv.c: make this somewhat key-navigable diff --git a/gtk/gtkhsv.c b/gtk/gtkhsv.c index 654c1c0aee..cc84b563bf 100644 --- a/gtk/gtkhsv.c +++ b/gtk/gtkhsv.c @@ -1363,6 +1363,11 @@ gtk_hsv_focus (GtkContainer *container, if (!GTK_WIDGET_HAS_FOCUS (hsv)) { + if (dir == GTK_DIR_TAB_BACKWARD) + priv->focus_on_ring = FALSE; + else + priv->focus_on_ring = TRUE; + gtk_widget_grab_focus (GTK_WIDGET (hsv)); return TRUE; } @@ -1663,12 +1668,13 @@ gtk_hsv_move (GtkHSV *hsv, x = floor (sx + (vx - sx) * priv->v + (hx - vx) * priv->s * priv->v + 0.5); y = floor (sy + (vy - sy) * priv->v + (hy - vy) * priv->s * priv->v + 0.5); - + +#define HUE_DELTA 0.002 switch (dir) { case GTK_DIR_UP: if (priv->focus_on_ring) - hue += 0.02; + hue += HUE_DELTA; else { y -= 1; @@ -1678,7 +1684,7 @@ gtk_hsv_move (GtkHSV *hsv, case GTK_DIR_DOWN: if (priv->focus_on_ring) - hue -= 0.02; + hue -= HUE_DELTA; else { y += 1; @@ -1688,7 +1694,7 @@ gtk_hsv_move (GtkHSV *hsv, case GTK_DIR_LEFT: if (priv->focus_on_ring) - hue += 0.02; + hue += HUE_DELTA; else { x -= 1; @@ -1698,7 +1704,8 @@ gtk_hsv_move (GtkHSV *hsv, case GTK_DIR_RIGHT: if (priv->focus_on_ring) - hue -= 0.02; + hue -= HUE_DELTA + ; else { x += 1; @@ -1719,3 +1726,4 @@ gtk_hsv_move (GtkHSV *hsv, gtk_hsv_set_color (hsv, hue, sat, val); } + diff --git a/gtk/testgtk.c b/gtk/testgtk.c index e4632db39e..d1ebb32f90 100644 --- a/gtk/testgtk.c +++ b/gtk/testgtk.c @@ -9990,9 +9990,11 @@ main (int argc, char *argv[]) { while (g_main_pending ()) g_main_iteration (FALSE); +#if 0 sleep (1); while (g_main_pending ()) g_main_iteration (FALSE); +#endif } return 0; diff --git a/tests/testgtk.c b/tests/testgtk.c index e4632db39e..d1ebb32f90 100644 --- a/tests/testgtk.c +++ b/tests/testgtk.c @@ -9990,9 +9990,11 @@ main (int argc, char *argv[]) { while (g_main_pending ()) g_main_iteration (FALSE); +#if 0 sleep (1); while (g_main_pending ()) g_main_iteration (FALSE); +#endif } return 0; -- 2.30.2